Chengdu Yingchuan Informatietechnologie Co., Ltd.
Home>Producten>ModBus-protocolpakket
ModBus-protocolpakket
Het Modbus-protocol is een universeel communicatieprotocol dat op grote schaal wordt gebruikt in de huidige industriële besturingssector en InGen bied
Productdetails

ModBus communicatieprotocol

Het Modbus-protocol is een universeel communicatieprotocol dat op grote schaal wordt gebruikt in de huidige industriële besturingssector. Met dit protocol kunnen controllers communiceren met elkaar of met andere apparaten via een netwerk zoals Ethernet. Het Modbus-protocol maakt gebruik van master-from-communicatietechnologie, dat wil zeggen dat het master-apparaat actief wordt gevraagd en bediend vanuit het apparaat. Het protocol dat wordt gebruikt door het hoofdapparaat wordt over het algemeen Modbus Master genoemd en het protocol dat wordt gebruikt door het apparaat wordt Modbus Slave genoemd. Typische hoofdapparatuur omvat industriële controllers en industriële controllers; Typische van apparaten zoals PLC programmerbare controllers enz. De fysieke Modbus-communicatie-interface kan een seriele poort (inclusief RS232 en RS485) of een Ethernet-poort selecteren. De communicatie volgt het volgende proces:

• Het hoofdapparaat stuurt verzoeken naar het apparaat

Analyseer en verwerk verzoeken van het hoofdapparaat vanaf het apparaat en stuur vervolgens de resultaten naar het hoofdapparaat

● Als er een fout optreedt, zal een afwijkende functiecode van het apparaat worden teruggestuurd


ModBus-software voor het communicatieprotocol

De ModBus-communicatieprotocol-softwareproducten van Intel zijn voornamelijk toegepast in de omgeving van Intel ARM9 Embedded Motherboards, die zijn voorzien van een rijke serie-poort, netwerkbronnen, universele GPIO-interfaces en meer, terwijl ze een krachtige verwerkingsvermogen hebben. In combinatie met de software voor het ModBus-communicatieprotocol is het zeer gemakkelijk om een ​​applicatieplatform voor master (master) en apparaat (slave) te vormen dat voldoet aan de ModBus-communicatiespicificaties. Het ModBus-protocolpakket is verdeeld in twee afzonderlijke delen, namelijk de "ModBus-master-protocolsoftware" (modbus_Master) en de "ModBus-device-side-protocolsoftware" (modbus_Slave). De ModBus-communicatieprotocol-software wordt momenteel uitgevoerd in de WinCE-omgeving en is beschikbaar voor klanten in de vorm van C-functies plus statische LIB-bibliotheken. De belangrijkste kenmerken zijn:

Uitstekend geschikt voor real-time industriële toepassingen

Ondersteuning voor seriepoort-gebaseerde ModBus-applicaties of TCP-gebaseerde ModBus-applicaties

RTU-overdrachtmodus

Ondersteuning voor de meeste Modbus-code-bewerkingen, inclusief bitbewerking voor de invoer van spoelen, discrete schakelaars en bytes voor registers

• Ondersteuning voor uitzendingsadressen

Flexibel instellen van de ModBus-communicatietijd

● Details kunnen worden verkregen over de foutcodes van het overdrachtprotocol in de communicatie


ModBus protocol software communicatie diagram


Functiecode ondersteund door de ModBus-software

Functiecode

Beschrijving

1

Afzonderlijke spoel lezen

2

Lees discrete invoer

3

Lees meerdere registers

4

Input register lezen

5

Schrijf een enkele spoel

6

Een enkel register schrijven

15

Schrijf meerdere spoelen

16

Schrijf meerdere registers

22

Schrijvregister blokkeren

23

Register lezen/schrijven


Basisgebruik van software

Om het gebruik van de applicatie te vergemakkelijken en een consistente codevorm voor de verschillende communicatiemidia te behouden, kunnen de API-functies in de ModBus-protocolsoftware (waaronder modbus_Master en modbus_Slave) van InGen zowel het seriepoort- als het TCP-gebaseerde Modbus-protocol ondersteunen. De applicatie hoeft alleen te onderscheiden tussen verschillende parameters wanneer de initialisatiefunctie wordt opgeroepen. Zie de respectievelijke header-bestanden voor een beschrijving van de parameters: modbus_Master.h en modbus_Slave.h


Toepassing van modbus_master

De toepassing als Modbus-clientmodus is voornamelijk het voorbereiden van verzoeken en het verzenden van verzoeken naar serverapparaten en het wachten op een reactie van de server. Bij het ontwikkelen van dergelijke applicaties, kunnen gebruikers verwijzen naar de Modbus-standaardliterature en de communicatie-interface-datahandleiding van het vermoedelijke apparaat, en rechtstreeks oproepen naar het modbus_Master-softwarepakket van Ingron dat de juiste operationele API-functies biedt om toegang tot en controle over het serverapparaat te voltooien. Bij het ontwikkelen van dergelijke applicaties hoeft de gebruiker alleen maar modbus_master.h/modbus_master.lib op te nemen.


Gebruik van modbus_slave

Als een toepassing van het ModBus-server-modus, moet de hoofdzaak de analyse en reactie op de ModBus-applicatieberichten worden geïmplementeerd, maar dit is slechts een deel van de volledige ModBus-communicatie, het andere deel is ook toegang tot de applicatiegegevens nodig, dit deel van de inhoud moet de gebruiker zelf definiëren. Om het gebruik van de klant gemakkelijk te maken, wordt het automatisch laden van deze gebruikersinterface-functies gerealiseerd in het modbus_Slave-pakket in de vorm van functiewijzers, die de gegevensverwerking van de gebruikersapplikatie en de respons op het ModBus-bericht van de toepassing associëren. De gebruiker moet deze interfacefuncties gewoon definiëren op basis van de behoefte om de juiste functies te implementeren, en de specifieke definitie van elke functie wordt geïmplementeerd via een speciaal CPP-bestand: DataProvider.cpp.


Hieruit blijkt dat het ontwikkelen van toepassingen van dit soort twee delen moet bevatten, een deel is de API-functie gedefinieerd door modbus_slave.h/modbus_slave.lib; Een ander deel is de gebruikersgegevensinterfunctie gedefinieerd door DataProvider.h / DataProvider.cpp, waarbij de interfacefunctie specifiek moet worden geïmplementeerd door de gebruiker in DataProvider.cpp.


Om tijdig te reageren op ModBus-applicatieberichten, moet worden opgemerkt dat tijdens het programmeren een thread moet worden ontworpen die de uitvoeringsfunctie modbus_Slave herhaaldelijk roept, die in de blokkeringsmodus is.


Bijvoorbeeld:

(1) Start het Modbus-apparaatpartijovereenkomst

hPort = mbusSlave_StartupServer(_T)'*'), 1, 10000, mbusSlave_Interface );

Of...

hPort=mbusSlave_StartupServer(_T)"COM3:9600-8-1-0"),1,10000, mbusSlave_Interface );


(2) het oproepen van de uitvoerende functie Serverloop in de thread om het verzoek te beantwoorden

terwijl( 1 )

{

//Oproep de uitvoeringsfunctie voor analyse en reactie op ModBus-berichten.

resultaat = mbusSlave_ServerLoop( hPort );

    als(resultaat!=0)//Controleren of een fout wordt geretourneerd

{

      //Foutbehandeling: Dit voorbeeld is tekstberichten voor het ophalen en afdrukken van foutcodes

wcscpy(szText, mbusSlave_GetErrorText(resultaat));

i1 = wcslen( szText );

      als( i1>0 )

{

wcstombs( strText, szText, i1 );

afdrukken('foutcode: %s! n'Stretex);

}

}

}


De software voor het ModBus-protocol werd voorheen aangeboden in de vorm van C-functies plus statische bibliotheken (modbus.lib of libmodbus.a-bestanden). Naarmate het gebruik door klanten toeneemt, wordt het ModBus-protocol, in het bijzonder de masterprotocolsoftware (modbus_Master) voorgeïnstalleerd in het Intel Embedded Industrial Control-kernelsysteem in de vorm van een dynamische bibliotheek (modbus_Master.dll of libmbusmaster.so-bestand) om het oproepen van applicaties van klanten te vergemakkelijken. De vooraf geïnstalleerde Modbus-protocollen omvatten alle moederborden uit de ESM-serie (ESM6802, ESM6800, ESM335x, ESM928x enz.).


Gerelateerde referenties


4 ~ 20mA stroomring verzameling toepassingen Modbus Master Communication Protocol Software onder WinCE

Modbus Device Party Protocol Software onder WinCE Ingshun Embedded Linux Industrial Control Motherboard ondersteunt Modbus Master Protocol Software

Modbus Device Side Protocol Software voor Linux ESM6802 ondersteunt Qt MODBUS programma ontwikkeling

Modbus-protocol vooraf geïnstalleerd op het moederbord
Online onderzoek
  • Contactpersonen
  • Bedrijf
  • Telefoon
  • E-mail
  • WeChat
  • Verificatiecode
  • Berichtinhoud

Succesvolle operatie!

Succesvolle operatie!

Succesvolle operatie!